delete 删除表数据

delet 对表中的数据删除

语法:delete 表名

直接删除表中的所有数据,危险操作,请核实!!!

语法:delete 表明 where 条件

删除符合where的条件的行

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
----删除ename为adams的员工,忽略大小写!!!
SQL> delete emp where lower(ename)='adams';


----删除ename中第二个字母为A的员工
--先查询出员工第二字母是A的员工
SQL> select * from emp where ename like '_A%';
EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
 7901 JAMES      CLERK      7698               1000.00    100.00     30
 7521 WARD       SALESMAN   7698 1981/2/22     1250.00    500.00     30
 7654 MARTIN     SALESMAN   7698 1981/9/28     1250.10   1400.00     30
 7900 JAMES      CLERK      7698 1981/12/3      950.55               30

--涉及多个员工使用in字符串
SQL> delete emp where ename in (select ename from emp where ename like '_A%');
4 rows deleted


--删除表中所有数据
SQL> delete emp;

--截断式清空表数据,直接清空不可回归,且不可where选择
SQL> truncate table emp2;